home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- FILE *
- fopennew (fname, mode)
- char *fname, *mode;
- {
- char newname[256];
-
- sprintf (newname, "%s.new", fname);
- return (fopen (newname, mode));
- }
-
-
- void
- merge (fname)
- char *fname;
- {
- FILE *fp, *fpnew;
- char buf[128], name[128];
-
- sprintf (name, "%s.new", fname);
- if ((fpnew = fopen(name, "rt")) == (FILE *)NULL)
- return;
- if ((fp = fopen(fname, "r+t")) == (FILE *)NULL) {
- fclose (fpnew);
- return;
- }
- fseek (fp, 0, 2);
- while (fgets (buf, 128, fpnew)) {
- pwait (NULL);
- fputs (buf, fp);
- }
- fclose (fp);
- fclose (fpnew);
- remove (name);
- }
-
-
-
- #ifdef DEMO
-
- int
- pwait (i)
- int i;
- {
- }
-
-
- void
- main ()
- {
- merge ("/nos/src/test1");
- }
-
- #endif
-